package file

import (
	"crypto/sha256"
	"encoding/hex"
	"io"
	"mime/multipart"
	"niu-video/pkg/random"
	"os"
	"path/filepath"
)

// Put 将数据存入文件
func Put(data []byte, to string) error {
	err := os.WriteFile(to, data, 0644)
	if err != nil {
		return err
	}
	return nil
}

// Exists 判断文件是否存在
func Exists(fileToCheck string) bool {
	if _, err := os.Stat(fileToCheck); os.IsNotExist(err) {
		return false
	}
	return true
}

func randomNameFromUploadFile(file *multipart.FileHeader) string {
	return random.RandomString(16) + filepath.Ext(file.Filename)
}

// 生成文件256值
func FileSha256(file multipart.File) string {
	_sha256 := sha256.New()
	io.Copy(_sha256, file)
	return hex.EncodeToString(_sha256.Sum(nil))
}
